Gps pre-aquisition for geotagging digital photos

ABSTRACT

A handheld electronic device, such as a GPS-enabled wireless communications device with an embedded camera, a GPS-enabled camera-phone or a GPS-enabled digital camera, determines whether ephemeris data needs to be obtained for geotagging digital photos taken with the device. By monitoring user activity with respect to the camera, such as activation of the camera, the device can begin pre-acquisition of a GPS position fix by obtaining needed ephemeris data before the photograph is actually taken. This GPS pre-acquisition improves the likelihood that a position fix (GPS lock) is achieved by the time the photo is taken (to enable immediate geotagging). Alternatively, the photo can be geotagged retroactively by appending the current location to the metadata tag associated with the digital photo. An optional acquisition status indicator can be displayed on a user interface of the device to indicate that a position fix is being obtained.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/914,189 filed Oct. 28, 2010 which was a continuation of U.S. patentapplication Ser. No. 12/020,714 filed Jan. 28, 2008 which issued on Dec.7, 2010 as U.S. Pat. No. 7,847,729.

TECHNICAL FIELD

The present disclosure relates generally to handheld electronic devicesequipped with digital cameras and, in particular, to geotaggingtechniques for such devices.

BACKGROUND

Some of the new generation of handheld electronic devices include both acamera and a Global Positioning System (GPS) receiver chipset. Examplesof these handheld electronic devices include GPS-enabled wirelesscommunications devices, PDA Pocket PCs or tablets, GPS-enabledcamera-phones or smart phones, and GPS-enabled cameras. These devicescan be made “location-aware” by virtue of a GPS receiver that is eitherembedded as a GPS chipset or connected externally, e.g. aBluetooth™-enabled GPS puck.

The combination of GPS and camera features enables “geotagging” {or“geocoding”) of digital photographs, i.e. tagging digital photos withgeographical information indicative of the location at which the photowas taken. For example, the geotagging may involve appending coordinatesof longitude and latitude to a metadata tag, e.g. an Exchangeable ImageFile Format (EXIF) tag, that is associated with the digital photo.

Conventionally, for geotagging to be accurate and meaningful, the GPSreceiver should be locked at the time the photo is taken, i.e. the GPSreceiver must have acquired a position fix, so that the current positiondata (e.g. position coordinates) can be written to the metadata tagassociated with the digital photo.

As is known in the art, a GPS lock or position fix is acquired bysynchronizing with at least four GPS satellite vehicles in orbit. Thetime required to compute the location on a new synchronization is knownas the time-to-first-fix (TTFF). Unfortunately, the TTFF can befrustratingly long for various reasons, including poor sky access (e.g.the urban canyon effect or dense overhead foliage) or out-of-datealmanac or ephemeris data on start-up.

In order to be able to find the satellites initially, a GPS receivernormally requires an almanac of satellite location data that isimprecise but valid for several months. If a full reset occurs, thendownloading the full almanac takes 12.5 minutes, with a maximum wait of25 minutes. The almanac serves as a rough approximation of satellitelocation. To acquire a precise fix, the device must also obtainephemeris data from each satellite itself which consists of very preciseorbital and clock correction data, at a slow 50 bytes per second for atotal of 12 seconds for ephemeris and 6 seconds for clock corrections.When the device retrieves this data directly from a satellite broadcast,it is operating in autonomous or standalone GPS mode, the most commonmode of operation. The ephemeris data is cached by the receiver, but itbecomes stale and unusable within 3 to 4 hours due to satellite driftdue to various sources of error. If the wireless handheld device losessynchronization because, for example, the user enters a building orsubway and the ephemeris becomes stale, then a warm or cold startcondition occurs and new ephemeris must be downloaded again through afull sky search.

In addition to the latency involved in the data download, obstructionsin the signal path can further prolong the TTFF. Satellites broadcasttheir ephemeris every 30 seconds, 5 times per window. If the signal isinterrupted, the receiver must wait for another cycle. Obtaining a fixcan easily take several minutes or much longer if the user is travellingthrough an urban canyon or dense foliage. On a hot start, where currentephemeris data is still available, the time required to obtain a fix isreduced to seconds. However, on a warm start, if a user turns on thehandheld device or emerges from a building so that the receiver has novalid ephemeris data in memory, then the user may typically need to waita few minutes before a fix is established. Of course, if both thealmanac and ephemeris is out-dated, i.e. a cold start, then the TTFF canbe frustratingly long.

These TTFF delays preclude the immediate geotagging of photos. If theuser wishes to take a geotagged photo, the camera either remains locked(“frozen”) until the GPS position fix is obtained, or the photo is takenwithout GPS lock, in which case the photo cannot be geotagged at thatpoint because a GPS fix is unavailable. Thus, if, after the photo istaken, the user moves substantially away from the geographical locationwhere the photo was taken, then any subsequent GPS position fix ispotentially of limited positional accuracy in attempting toretroactively geotag the photograph.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the present technology will becomeapparent from the following detailed description, taken in combinationwith the appended drawings, in which:

FIG. 1 is a flowchart outlining some of the main steps of a method ofdownloading ephemeris data for efficiently geotagging digital photo;

FIG. 2 is a schematic depiction of some of the main network componentsused to deliver ephemeris data to a wireless communications devicepresented as one example of a handheld electronic device on which thepresent technology can be implemented;

FIG. 3 is a schematic depiction of some of the main network componentsused to deliver ephemeris data via Assisted GPS to a handheld electronicdevice;

FIG. 4 is a block diagram depicting certain key components of anexemplary GPS-enabled wireless communications device presented as oneexample of a handheld electronic device on which the present technologycan be implemented;

FIG. 5 is a block diagram depicting the components used to monitor useractivity on a wireless communications device in order to determine whento download ephemeris data;

FIG. 6 is an example of a simplified EXIF tag used for geotaggingdigital photos;

FIG. 7 is an example of a user interface for a camera showing agraphical indicator (or icon) that indicates that GPS lock has not beenacquired;

FIG. 8 is an example of a user interface for a camera showing agraphical indicator or icon) that indicates that GPS lock has beenacquired;

FIG. 9 is another example of a user interface for a camera showing agraphical indicator (or icon) that indicates that GPS acquisition isprogressing and further showing an estimated time remaining toacquisition;

FIG. 10 is another example of a user interface for a camera showing agraphical indicator that indicates that the photo that was just taken isbeing, or will be, geotagged;

FIG. 11 is another example of a user interface for a camera showing agraphical indicator that indicates that the photo that was just takencannot be geotagged because the time elapsed since the photo was takenand the GPS lock acquired has exceeded a specified threshold;

FIG. 12 depicts an example of a camera options interface showing aplurality of camera-related settings, including, again by way ofexample, a setting for enabling or disabling the geotagging feature; and

FIG. 13 depicts an example of a dialog box that pops up when thegeotagging feature is enabled.

It will be noted that throughout the appended drawings, like featuresare identified by like reference numerals.

DETAILED DESCRIPTION

The present technology provides, in general, a handheld electronicdevice, such as, for example, a GPS-enabled wireless communicationsdevice with an embedded camera, a GPS-enabled camera-phone or aGPS-enabled digital camera, that is configured to pre-acquire a GPSposition fix for geotagging photos. Pre-acquisition of a GPS positionfix involves initiating acquisition of the GPS position fix inanticipation of the taking of a photo with the camera-enabled device sothat geotagging of the photo can proceed expeditiously. In particularimplementations, the device is configured to determine whether ephemerisdata needs to be obtained for geotagging digital photos taken with theonboard camera of the device. By monitoring user activity with respectto the camera, such as activation of the camera by a user of the device,the device can begin pre-acquisition of a GPS position fix by obtainingany needed ephemeris data before the photograph is actually taken. ThisGPS pre-acquisition improves the likelihood that a position fix (GPSlock) is achieved by the time the photo is taken (to enable immediategeotagging of the digital photo). Alternatively, the photo can begeotagged retroactively by appending the GPS-determined current locationto the metadata tag associated with the digital photo, An optionalacquisition status indicator can be displayed on a user interface of thedevice to indicate that a position fix is being obtained, to indicatethat accurate geotagging is being performed, or alternatively to warnthe user that geotagging will be inaccurate or impossible because thetime elapsed between the taking of the picture and the acquisition ofthe GPS position fix is too long.

Thus, a main aspect of the present technology is a method of geotaggingusing a handheld electronic device, the method comprising monitoringuser activity with respect to a digital camera on the device, prior tothe digital camera taking a digital photograph, initiating acquisitionof current position data for a current position of the device, andgeotagging the digital photograph with the current position data.

In one implementation of this aspect of the technology, the methodinvolves obtaining ephemeris data for a GPS-enabled handheld electronicdevice. This particular implementation of the method includes steps ofmonitoring user activity with respect to a digital camera on the device,determining whether ephemeris data is needed for acquiring a GPSposition fix, obtaining the ephemeris data in order to acquire the GPSposition fix representative of a current location of the device, andgeotagging a digital photo taken by the digital camera with the currentlocation of the device.

Another main aspect of the present technology is a computer readablemedium that includes code that causes the device to perform theforegoing method when the code on the computer readable medium is loadedinto memory and executed on a processor of a handheld electronic device.

Yet another main aspect of the present technology is a handheldelectronic device having a receiver for obtaining current position datafor a current position of the device from signals received from asatellite-based navigation-signal broadcast system, a digital camera fortaking a digital photograph, and a memory coupled to a processor that isconfigured to monitor user activity with respect to the digital camera,to cause the receiver to initiate acquisition the current position dataprior to the digital camera taking the digital photograph, and to geotagthe digital photograph using the current position data.

In one implementation of this aspect of the technology, the device has aGPS receiver or receiving GPS radio signals from orbiting GPS satellitesand for further receiving ephemeris data for the GPS satellites, acamera for taking a digital photo, and a processor coupled to memory formonitoring user activity with respect to the camera and for determiningwhether ephemeris data needs to be obtained for geotagging the digitalphoto based on a GPS position fix acquired for a current location.

The details and particulars of these aspects of the technology will nowbe described below, by way of example, with reference to the attacheddrawings.

FIG. 1 is a flowchart outlining some of the main steps of a method ofobtaining ephemeris data for a GPS-enabled handheld electronic device.

For the purposes of this specification, the expression “handheldelectronic device” is meant to encompass a broad range of portable ormobile devices such as wireless communications devices, PDA Pocket PCsor tablets equipped with GPS, GPS-enabled camera-phones or smart phones,GPS-enabled cameras, etc. These devices can be made “location-aware” byvirtue of a GPS receiver that is either embedded as a GPS chipset orconnected externally, e.g. a Bluetooth™-enabled GPS puck.

Although the present disclosure refers to expressly to the “GlobalPositioning System”, it should be understood that this term and itsabbreviation “GPS” are being used expansively to include anysatellite-based navigation-signal broadcast system, and would thereforeinclude other systems used around the world including the Beidou(COMPASS) system being developed by China, the multi-national Galileosystem being developed by the European Union, in collaboration withChina, Israel, India, Morocco, Saudi Arabia and South Korea, Russia'sGLONASS system, India's proposed Regional Navigational Satellite System(IRNSS), and Japan's proposed QZSS regional system.

As depicted in FIG. 1, after activating the GPS-enabled handheldelectronic device (introductory step 10), the novel method includes astep 12 of monitoring user activity with respect to a digital camera onthe device. For example, user activity with respect to the camera couldinvolve activating the camera feature on the device by clicking on acamera icon, selecting a camera function from an onscreen menu, orpressing a dedicated button on the device that activates the camera,i.e. either turns on the camera or wakes it up where it was previouslydormant. Thus, monitoring of user activity with respect to the cameramay involve having a user monitoring application running on the devicein the background that detects user input related to the camera. Theuser monitoring application, which will also be described later, canthen report user activity related to the camera to the operating systemor to an intermediate manager that initiates acquisition of a GPSposition fix prior to a digital photo being taken by the camera.Initiating the process of acquiring a GPS fix before the camera takesthe photo will be referred to herein as “GPS pre-acquisition.” Forexample, this pre-acquisition may entail querying the GPS driver and/orGPS cache to determine whether the GPS is locked or, in specificvariants of the technology, to determine whether ephemeris data is freshor stale. Thus, at step 14, a decision is made as to whether the GPSreceiver has a current position fix. Optionally, this may entaildetermining whether ephemeris data is needed for acquiring the GPSposition fix. In other words, at step 14, a decision is made as towhether a position fix has to be acquired in order to geotag a digitalphotograph taken with the camera. It should be understood that step 14is optional in the sense that, in some implementations, the applicationwould (upon detecting camera-related activity) simply request a GPS fixwithout inquiring about the state of the GPS receiver, i.e. whether thereceiver actually has a current fix or not, or whether updated ephemerisis needed. In other words, in some implementations, the GPS receiverwould either (i) automatically obtain an instantaneous hot fix or (ii)proceed to download ephemeris data if it is not in hot start mode. Theapplication would thus simply await indication that GPS acquisition wascomplete.

If, at optional step 14, it is determined that a position fix iscurrently available, then operations proceed to step 20 wherein thedevice enables the user to take the photo. Thereafter, at step 22, thephoto is geotagged by writing position data into the metadata tagassociated with the photo, as will be elaborated below. On the otherhand, if at step 14, a determination is made that the GPS receiver doesnot have a current position fix, e.g. that new ephemeris data isrequired in order to acquire a GPS fix, then the device optionallydetermines at step 16 whether it should wait for a GPS position fix tobe acquired or whether it should proceed immediately to step 20 toenable the digital photo to be taken right away. Alternatively, insteadof step 16, the device could immediately begin the process of acquiringthe GPS fix (and optionally obtaining the ephemeris data, if needed, inorder to acquire the GPS position fix) without making any explicitinquiry about the availability of a current GPS position fix. If, atstep 16, a decision is made to await acquisition of the GPS positionfix, the device then acquires the position fix at step 18, optionally byfirst obtaining any needed ephemeris data. Once the GPS position fix isacquired at step 18, operations proceed to step 20 at which point thedevice can take the digital photo and then, at step 22, geotag thedigital photo taken by the digital camera with the current location ofthe device. In other words, as depicted in FIG. 1, once the decision toobtain a new fix is made at step 14, an optional additional decision maybe made at step 16 as to whether or not to wait for GPS acquisition tobe completed before enabling the taking of a photo. Even if a GPSposition fix has not yet been acquired, the device can nonethelessenable the taking of a photo right away, with an optional warning (tothe effect that the GPS fix has not yet been acquired), and then appendthe GPS position data after the photo has been taken (provided,optionally, that the elapsed time between the taking of the photo andthe acquisition of the GPS fix is not too great, in which case theposition data appended to the metadata tag of the photo will be soinaccurate as to be of limited usefulness.) Thus, as depicted in FIG. 1,if the device is configured to proceed with the taking of a photowithout GPS lock, then operations proceed to steps 20 and 22 wherein thephoto is taken and geotagged, respectively. Alternatively, as depictedin FIG. 1, if the device is configured such that it must await a GPS fixprior to enabling the taking of the picture, then operations proceed tostep 18 for acquiring the GPS position fix (GPS lock). Either way, theresultant photograph can be geotagged with the current location (e.g. bywriting the coordinates of latitude and longitude to a metadata tagassociated with the photo). As noted in the preceding paragraph, bymonitoring camera-related activities, the device predicts that a GPSposition fix will be required and begins pre-acquisition of the GPS fix,which need not involve any explicit determination as to whether the GPSfix is current or whether the ephemeris data is fresh or stale. In otherwords, the GPS receiver can simply be wakened for initiating the processof acquiring (i.e. “pre-acquiring”) a GPS fix in anticipation of aprobable geotagging event. Thus, this GPS pre-acquisition may or may notentail determining whether ephemeris data is needed for acquiring a GPSposition fix and obtaining the ephemeris data in order to acquire theGPS position fix representative of a current location of the device.

Alternatively, instead of writing the location data to the metadata tag,such as an EXIF tag, the device can create a separate geotag file thatstores all the geographical data and cross-references each set ofgeographical data with each of the digital photos stored in memory onthe device. In other words, a dedicated geotag file would store eachdigital photo file name (e.g. Picture0001.jpg) with a set of GPScoordinates or other location data (e.g. Lat=xx.xx.xx, Lon=xx.xx.xx).Alternatively, two separate files could be used with an index, code orother means to associate the photo files with each set of position data(stored in a separate position data file).

The foregoing method steps can be implemented as coded instructions in acomputer program product. In other words, the computes program productis a computer-readable medium upon which software code is recorded toperform the foregoing steps when the computer program product is loadedinto memory and executed on the microprocessor of the handheldelectronic device.

The foregoing method can also be implemented on one of the examplenetworks shown in FIG. 2 or FIG. 3 and/or on the example handheldelectronic device presented in FIG. 4. It should, of course, beappreciated that this novel method can be implemented on any number ofother wireless networks or on any number of other GPS- andcamera-enabled devices with or without wireless (i.e. cellular)connectivity. For example, this technology can be implemented on aGPS-enabled camera that does not have a RF transceiver for wirelesscommunication. However, in specific implementations that take advantageof Assisted GPS, a wireless transceiver would be required to receiveassistance data.

FIG. 2 is a schematic depiction of exemplary network components thatenable a GPS-enabled wireless communications device 100 or otherGPS-enabled handheld electronic device to geotag digital photographstaken using a camera in the device. It bears repeating that the wirelesscommunications device 100 is presented merely as one example of ahandheld electronic device on which the present technology can beimplemented. As shown in FIG. 2, the wireless communications device 100can communicate over voice and data channels with a base station 210that is part of a wireless network 200. The wireless network 200 isconnected to a data network (e.g. the Internet) 300. Optionally, anApplications Gateway (AG) 310 can be provided between the data network300 and the wireless network 200 to mediate and optimize the data flowby mapping complex data structures to structures optimized for wirelessand vice versa. Optionally, the wireless communications device 100 iscommunicatively connected to a relay or Network Operations Center (NOC)240 using e-mail push techniques that are now well known in the art. Asfurther depicted in FIG. 2, the GPS-enabled wireless communicationsdevice 100 is made “location-aware” by virtue of GPS radio signalsreceived from at least four orbiting GPS satellites 400, as is also wellunderstood in the art.

FIG. 3 is a schematic depiction of some of the main network componentsused to deliver ephemeris data (for Assisted GPS) to a handheldelectronic device, such as, for example the GPS-enabled wirelesscommunications device 100 shown in this figure. FIG. 3 thus shows, inaddition to all of the network components depicted in FIG. 2, asatellite receiver 410 for capturing GPS ephemeris data and an ephemerisdata centre 420 for receiving this ephemeris data. The ephemeris datacentre 420 is communicatively connected to a broadcast server 430 whichbroadcasts the ephemeris data or assistance data (“A-GPS data”) via thedata network 300 and wireless network 200 to the wireless communicationsdevice 100 to provide the assistance data (i.e. to provide the ephemerisdata to the device via the cellular link rather than via satellitedownload). In one implementation, the NOC 240 receives regular ephemerisupdates from the broadcast server 430 (via the data network 300).

The ephemeris data could be transferred to the handhelds in a number ofstandard ways, e.g. by downloading the data file using TCP/IP. Forexample, with support from the standards body, SUPL (Secure User PlaneLocation architecture) could allow extended ephemeris to be transferreddirectly from a location server, called Serving Mobile Location Center(SMLC), to the mobile handset client using secure end-to-end IPconnectivity. Providing timely ephemeris updates (“assistance data”)thus helps to efficiently overcome the performance limitations ofconventional GPS, thus enhancing GPS sensitivity while enablingoperation under difficult signal conditions, such as urban canyons orunder dense foliage.

Although assistance data is very useful, it should be appreciated thatthe present technology can be implemented without any A-GPS assistancedata. In other words, standalone GPS can be used to geotag photographsusing the pre-acquisition or anticipatory techniques described hereinwithout recourse to A-GPS. FIGS. 2 and 3 were thus presented merely forthe purposes of illustrating two different examples of networks in whichthis technology can be implemented.

FIG. 4 is a block diagram depicting certain main components of oneexample of a handheld electronic device, which is, in this particularillustration, a GPS-enabled wireless communications device 100. Itshould be expressly understood that this figure is intentionallysimplified to show only certain components. The device 100 may includeother components beyond what those shown in this figure. The device 100includes a microprocessor 102 (or simply a processor”) which interactswith memory in the form of RAM 104 and Flash Memory 106, as is wellknown in the art. The device 100 includes a radio-frequency (RF)transceiver 108 for communicating wirelessly with base stations 210 overcellular frequencies. The device 100 includes a GPS receiver chipset 110for receiving GPS radio signals transmitted from one or more orbitingGPS satellites. In terms of input/output devices or user interfaces, thedevice 100 typically includes a display 112 {e.g. a small LCD screen), athumbwheel and/or trackball 114, a keyboard 116, a US3 118 or serialport for connecting to peripheral equipment, a speaker 120 and amicrophone 122. Optionally, the device may have a touch screen ortouch-sensitive LCD interface that functions both as a display and as auser input device. In addition, the device 100 includes a digital camera124, which is preferably embedded or incorporated within the device, ofthe type that are now commonly found on many smart phones or handhelds.This digital camera, which is usually a multi megapixel camera, canoptionally have a built-in flash. As will be appreciated, the camera canalso be externally connected to the device 100 via the USE 118 or via aBluetooth™ connection.

As will be readily appreciated, a user of this device 100 can activatethe camera by manipulating the keyboard 116 or the thumbwheel/trackball114 to launch a camera application. Alternatively, the wireless handhelddevice may have a dedicated button to activate the camera. Once thecamera is turned on, the viewfinder is presented on the LCD display 112as part of a camera user interface. An example of a camera userinterface is illustrated in FIG. 7. For a GPS-enabled camera, such as,for example, the Ricoh 500SE GPS-ready Digital Camera, which has adetachable GPS module, there is, of course, no “camera application” perse, since the entire device is a camera. Thus, merely turning on thecamera will cause the GPS driver to assess whether ephemeris data needsto be downloaded right away in anticipation of the taking of aphotograph. To recap, therefore, the handheld electronic device 100includes a GPS receiver 110 for receiving GPS radio signals fromorbiting GPS satellites and for further receiving ephemeris data for theGPS satellites, a camera 124 for taking a digital photo, and a processor102 coupled to memory 104, 106 for monitoring user activity with respectto the camera 124 and for determining whether ephemeris data needs to beobtained for geotagging the digital photo based on a GPS position fixacquired for a current location.

FIG. 5 is a block diagram depicting the components used to monitor useractivity with respect to the camera (“camera-related activity”) on awireless communications device 100 or other handheld electronic devicein order to determine when to pre-emptively download ephemeris data forefficiently enabling the geotagging of digital photos taken using thecamera. The usual scenario involves the activation or waking of thecamera (or launching of the associated camera application) by the user.This is detected as an event warranting verification by the device thatit has a GPS lock in order to geotag the photo. If a GPS lock can bequickly obtained, then the photo can be geotagged accurately andimmediately. Otherwise, geotagging can still be done, albeit after thefact. For example, even if a quick snap Is taken before GPS lock isacquired, the accuracy of any subsequent geotagging is improved becausethe device, having anticipated the need for GPS data, has already begunthe process of obtained ephemeris data, if needed, and acquiring a GPSfix.

So if the user moves away from the spot where the quick snap was taken,the resultant positional error is minimized. FIG. 5 depicts oneparticular implementation of camera-related activity monitoring on aGPS-enabled handheld electronic device 100. In this particularimplementation, device components are arranged to enable the device tomonitor user activity with respect to the camera on the device. Thisparticular arrangement of components is presented merely by way ofexample. As depicted in the particular implementation presented in FIG.5, an operating system (O/S) 150 interacts with a GPS driver 154 fordriving a GPS receiver chipset 110. A GPS cache 130 caches ephemerisdata obtained by satellite download (standalone mode) or via wireless(cellular) link (assistance data for Assisted-GPS), which may also bestored in Flash memory 106. This ephemeris data (which defines where thesatellites are in orbit) is used by the GPS driver and GPS receiverchipset to obtain a position fix for the device based on the elapsedtravel time for each of the received GPS signals (using trilaterationtechniques well known in the art).

As further depicted in the particular implementation presented in FIG.5, a camera application 160 that has a geotagging feature enabledcommunicates requests for GPS position data to API 152 (e.g. Java JSR179) which obtains GPS data from the GPS cache 130. If there is no GPSlock, then new GPS position data needs to be obtained. In that case, theGPS driver cooperates with the GPS receiver chipset to obtain a new GPSfix, and, where needed, to obtain new ephemeris data in order to makethe GPS acquisition possible.

As shown in FIG. 5, the camera application 160 can be monitored by adedicated User Activity Monitoring Application 170 which oversees thecamera application and requests made into the API from the cameraapplication. The User Activity Monitoring Application can be integratedas a module or component of the camera application itself, the API or ofother components.

In normal operation of this particular implementation of the technology,ephemeris data is downloaded pre-emptively based on any camera-relateduser activity, such as launching the camera application. Launching thecamera application 160 would, for example, trigger a request into theAPI 152 (e.g. Java JSR 179) for GPS data. This request would be loggedby the user activity monitoring application 170. The API 152 preferablyresides between the operating system 150 and the camera application 160so that all GPS requests go through this API. All location requests fromthe camera application 160 to the API 152 go to the GPS driver 154 viathe OS 150, as shown in FIG. 5, which then communicates with the GPSchipset 110. The API is, in this example, Java JSR 179. JSR 179(“Location API”) is a specification defining a common API for retrievinglocation information on a variety of GPS-embedded mobile phones, PDAs,handhelds and other such devices.

Likewise, if a camera application is launched, or used repeatedly over agiven period of time, the user activity monitoring application 170 willmonitor the usage of the camera application 160 either directly or(indirectly) by the requests that the camera application 160 makesthrough the API 152 to the GPS driver 154 for GPS data. In other words,logging/monitoring requests through the API 152 for the GPS driver toobtain GPS fixes from the GPS chipset 110 provides an indication of useractivity and allows the user activity monitoring application 170 toidentify usage patterns for the camera application or for GPS requestsin general.

For example, the user activity monitoring application 170 may compilebehavioral data on the usage patterns of the camera. An algorithm (oreven an artificial intelligence module) integrated within the monitoringapplication 170 could then attempt to develop correlations betweencamera usage (pictures taken) and date, time, and location parameters.

For example, analysis of historical usage of the camera might revealthat whenever the location of the device changes radically to a locationwhere the user has never roamed to before, the user tends to take aphotograph upon turning on the device (e-g. stepping off a plane on avacation in a new country) but that this only occurs if the time of dayis during daylight hours. As another example, the device might furtherobserve that upon radically changing global locations, there is a delay(corresponding to arrival at the airport) where no pictures are taken,but that upon moving again to another location (e.g. beyond the airport)the picture-taking activity typically commences. This would provide apotential cue to the device to check its ephemeris and obtain a GPS fix.

As yet another example, the device might observe that photographs areoften taken on Christmas Day, but always at the user's home address.Therefore, the device might deduce that while these are “family photoops”, ephemeris data is unnecessary because the user will probably notbe concerned about geotagging photos taken in his own home.

The User Activity Monitoring Application 170 can also, in a variant onthis implementation, extract information from a calendaring applicationto keyword search for special events that might be “photo ops” requiringgeotagging, such as “graduation”, “baptism”, “wedding”, “family picnic”,“trip”, “holiday”, “tour”, “vacation”, etc. In some of these instances,geotagging may or may not be appropriate or desirable, and the device'sartificial intelligence can attempt to guess whether ephemeris should beobtained preemptively.

FIG. 6 is an example of a simplified EXIF tag used for geotaggingdigital photos. The exchangeable image file format (EXIF) is aspecification used by digital cameras that uses existing JPEG, TIFF,Rev. 6.0, and RIFF WAVE file formats, with the addition of specificmetadata tags. Typically, an EXIF metadata tag includes tags formanufacturer, model, orientation, software, date and time YCbCrPositioning, Compression, x-Resolution, y-Resolution, Resolution Unit,Exposure Time, F Number, Exposure Program, Exif Version, ComponentsConfiguration, compressed Bits per Pixel, Exposure Bias, MaximumAperture Value, Metering Mode, Flash, Focal Length, MakerNote, FlashPixVersion, Color Space, PixelXDimension, PixelYDimension, File Source,Interoperability Index, and Interoperability Version. The EXIF tagpresented in FIG. 6 is intentionally simplified to show only some of themain tags. In addition, however, the EXIF tag can be modified toaccommodate geotagging data, such as by providing fields for Latitudeand Longitude. Optionally, one or more further fields can be provided tostore a street address, city, province, state or country associated withthe geo-coordinates. This address and city information can be obtainedby reverse geocoding (i.e. looking up the coordinates in a database ofcoordinates associated with addresses). As shown in FIG. 6, the latitudeand longitude can be presented in GPS coordinates e.g. 45 deg 54.314 minN and 77 deg 30.987 min W. For example, if the latitude is expressed as39 deg 54.333 min, this means that the seconds (32) are converted todecimal format (0.333). Alternatively, these can be expressed in theEXIF tag as Degrees Minutes Seconds—DD MM SS (e.g. 39 54 32 W) or asDecimal Degrees (e.g. 39.909 deg) in which the minutes and seconds (5432) are converted to decimal format (0.909).

FIG. 7 is an example of a user interface for a camera showing agraphical indicator (or icon or glyph) that indicates that GPS lock hasnot been acquired. In this example, the camera interface 500 has aviewfinder 502, a top information bar 504 (with optional date, time andbattery status indicator) and a bottom information bar 506 (withoptional information pertaining to the camera, such as zoom, flash,etc.). An optional camera icon 508 can indicate that the camera has beenactivated. In addition, the bottom bar 506 has a GPS lock “glyph” (icon)510 that shows, in this case, that GPS lock has not been acquired. WhenGPS is unlocked, the device can either freeze the camera to prevent apicture from being taken until the GPS locks, or, alternatively, thedevice can enable the camera to take the picture and then geotagretroactively, i.e. append the geo-coordinates afterwards.

FIG. 8 is an example of a user interface 500 for a camera showing agraphical indicator (or icon) 512 that indicates that GPS lock has beenacquired. In this particular implementation, “unlocked” icon 510transforms, or is replaced by, “locked” icon 512. Once GPS lock isachieved, photos can be immediately geotagged,

FIG. 9 is another example of a user interface 500 for a camera-showing agraphical indicator (or icon) 514 that indicates that GPS acquisition isprogressing and further showing an estimated time remaining toacquisition. In this example, the “time to fix” shows that GPS lock withbe achieved in 10 seconds. This is a useful feature because it informsthe user that he or she only has to wait 10 more seconds before a photocan be taken. Also, the user can snap a photo pre-emptively knowing thatGPS lock is imminent and geotagging will be accurate provided he or shedoesn't move substantially over the next 10 seconds (or whatever time isshowing as remaining before the GPS position fix is acquired).

FIG. 10 is another example of a user interface 500 for a camera showinga graphical indicator 516 that indicates that the photo that was justtaken is being, or will be, geotagged. This is useful for the user toknow where geotagging is operational or feasible. In certain cases, theuser will take a quick snap and then move away from the location wherethe picture was taken. The GPS receiver will acquire a fix a few minuteslater. Depending on how far the user has strayed, the geotagging can beperformed retroactively. The device can be configured to apply aspecified threshold (a maximum elapsed time) beyond which the geotaggingwill not be done, or only done at the insistence of the user.Conversely, if the device obtains a fix within a reasonable time that isless than the predetermined threshold, the “geotag” icon will show thatthe geotagging is being done, or will be done.

FIG. 11 is another example of a user interface 500 for a camera showinga graphical indicator 518 that indicates that the photo that was justtaken cannot be geotagged because the time elapsed since the photo wastaken and the GPS lock acquired has exceeded a specified threshold, asdiscussed in the previous paragraph.

FIG. 12 depicts an example of a camera options interface 600 showing aplurality of camera-related settings, including, again by way ofexample, a setting 602 for enabling or disabling the geotagging feature.

FIG. 13 depicts an example of a dialog box 604 that pops up over theoptions interface 600 when the geotagging feature is enabled. This is anoptional dialog box, The device can of course be preconfigured to acceptthe enabling of the geotagging feature without questioning the user inthis manner. Likewise, a similar dialog box could be used when the userwishes to disable the geotag feature. In another variant, the devicemight only question the user if the enabling or disabling of thegeotagging feature is inconsistent with the usage patterns orbehavioural patterns as determined by the device or an artificialintelligence built into the user activity monitoring application 170, asdescribed above.

This new technology has been described in terms of specificimplementations and configurations which are intended to be exemplaryonly. The scope of the exclusive right sought by the Applicant istherefore intended to be limited solely by the appended claims.

1. A method of geotagging using a handheld electronic device, the methodcomprising: monitoring user activity with respect to a digital camera onthe device; prior to the digital camera taking a digital photograph,initiating acquisition of current position data for a current positionof the device; and geotagging the digital photograph with the currentposition data.
 2. The method as claimed in claim 1 wherein initiatingacquisition comprises querying a data cache on the device that storesephemeris data for a satellite-based navigation-signal broadcast system.3. The method as claimed in claim 1 wherein the initiating acquisitioncomprises querying a GPS cache that stores ephemeris data for a GlobalPositioning System (GPS).
 4. The method as claimed in claim 1 whereinmonitoring user activity comprises determining whether the camera isbeing activated.
 5. The method as claimed in claim 1 wherein monitoringuser activity comprises monitoring historical usage of the digitalcamera such that acquisition is initiated by comparing historical usagewith one of a current location and time.
 6. A computer readable mediumcomprising code which when loaded into memory and executed on aprocessor of a GPS-enabled handheld electronic device causes the deviceto perform the acts of: monitoring user activity with respect to adigital camera on the device; prior to the digital camera taking adigital photograph, initiating acquisition of current position data fora current position of the device; and geotagging the digital photographwith the current position data.
 7. The computer readable medium asclaimed in claim 6 wherein initiating acquisition comprises querying adata cache on the device that stores ephemeris data for asatellite-based navigation-signal broadcast system.
 8. The computerreadable medium as claimed in claim 6 wherein initiating acquisitioncomprises querying a GPS cache that stores ephemeris data for a GlobalPositioning System (GPS).
 9. The computer readable medium as claimed inclaim 6 wherein monitoring user activity comprises determining whetherthe camera is being activated.
 10. The computer readable medium asclaimed in claim 6 wherein monitoring user activity comprises monitoringhistorical usage of the digital camera such that acquisition isinitiated by comparing historical usage with one of a current locationand time.
 11. A handheld electronic device comprising: a receiver forobtaining current position data for a current position of the devicefrom signals received from a satellite-based navigation-signal broadcastsystem; a digital camera for taking a digital photograph; and a memorycoupled to a processor that is configured to monitor user activity withrespect to the digital camera, to cause the receiver to initiateacquisition the current position data prior to the digital camera takingthe digital photograph, and to geotag the digital photograph using thecurrent position data.
 12. The handheld electronic device as claimed inclaim 11 wherein the receiver is a GPS receiver which the processoroperates using a GPS driver in association with a GPS cache stored inthe memory of the device.
 13. The handheld electronic device as claimedin claim 11 wherein the processor queries a GPS cache in the memory thatstores ephemeris data for a Global Positioning System (GPS).
 14. Thehandheld electronic device as claimed in claim 11 wherein the memorystores a user activity monitoring application that is executed by theprocessor to monitors user activity.
 15. The handheld electronic deviceas claimed in claim 14 wherein the user activity monitoring applicationdetermines whether the camera is being activated.
 16. The handheldelectronic device as claimed in claim 14 wherein the user activitymonitoring application monitors historical usage of the digital camerasuch that acquisition is initiated by comparing historical usage withone of a current location and time.
 17. The handheld electronic deviceas claimed in claim 11 wherein the processor geotags the digitalphotograph by using event data in a calendar application.
 18. Thehandheld electronic device as claimed in claim 11 comprising a useractivity monitoring application that logs all requests to an API forcurrent position data, the API residing between the camera applicationand an operating system.